﻿@page "/tables/footer"

<h3>Table 统计功能</h3>

<h4>用于数据统计</h4>

<Block Title="数据统计示例" Introduction="设置 <code>ShowFooter=true</code> 显示 <code>Footer</code> 自定义合计功能">
    <p><code>Table</code> 组件有 <code>TableFooter</code> 模板，其数据上下文为 <code>Table</code> 组件的数据集合 <code>IEnumerable&lt;TItem&gt;</code></p>
    <p><code>TableFooter</code> 模板中关联的上下文 <code>context</code> 值为当页数据</p>
    <p><code>TableFooter</code> 模板内可以自定义单元格 <code>td</code> 内容，也可以使用内置的 <code>TableFooterCell</code> 组件进行数据显示</p>
    <Table TItem="Foo" ShowFooter="true" class="footer-demo"
           IsPagination="true" PageItemsSource="@PageItemsSource" OnQueryAsync="@OnQueryAsync">
        <TableColumns>
            <TableColumn @bind-Field="@context.DateTime" Width="180" />
            <TableColumn @bind-Field="@context.Name" />
            <TableColumn @bind-Field="@context.Address" />
            <TableColumn @bind-Field="@context.Count" />
        </TableColumns>
        <TableFooter>
            <TableFooterCell Text="合计：" colspan="3" Align="@Align" />
            <TableFooterCell Text="@GetAggregate(context)" />
        </TableFooter>
    </Table>
    <div class="mt-3 btn-group">
        <Button Icon="fa fa-align-left" Text="@Left" OnClick="() => ClickAlign(Alignment.Left)" />
        <Button Icon="fa fa-align-center" Text="@Center" OnClick="() => ClickAlign(Alignment.Center)" />
        <Button Icon="fa fa-align-right" Text="@Right" OnClick="() => ClickAlign(Alignment.Right)" />
    </div>
    <div class="mt-3 btn-group">
        <Button Text="Sum" OnClick="() => ClickAggregate(AggregateType.Sum)" />
        <Button Text="Average" OnClick="() => ClickAggregate(AggregateType.Average)" />
        <Button Text="Count" OnClick="() => ClickAggregate(AggregateType.Count)" />
        <Button Text="Min" OnClick="() => ClickAggregate(AggregateType.Min)" />
        <Button Text="Max" OnClick="() => ClickAggregate(AggregateType.Max)" />
    </div>
</Block>

